'\" te
.\"  Copyright 1989 AT&T
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH FSPEC 5 "Jul 3, 1990"
.SH NAME
fspec \- format specification in text files
.SH DESCRIPTION
.sp
.LP
It is sometimes convenient to maintain text files on the system with
non-standard tabs, (tabs that are not set at every eighth column). Such files
must generally be converted to a standard format, frequently by replacing all
tabs with the appropriate number of spaces, before they can be processed by
system commands. A format specification occurring in the first line of a text
file specifies how tabs are to be expanded in the remainder of the file.
.sp
.LP
A format specification consists of a sequence of parameters separated by blanks
and surrounded by the brackets \fB<:\fR and \fB:>\fR. Each parameter consists
of a keyletter, possibly followed immediately by a value. The following
parameters are recognized:
.sp
.ne 2
.na
\fB\fBt\fR\fItabs\fR\fR
.ad
.RS 11n
The \fBt\fR parameter specifies the tab settings for the file. The value of
\fBtabs\fR must be one of the following:
.RS +4
.TP
.ie t \(bu
.el o
A list of column numbers separated by commas, indicating tabs set at the
specified columns.
.RE
.RS +4
.TP
.ie t \(bu
.el o
A '\fB\(mi\fR\&' followed immediately by an integer \fIn\fR, indicating tabs at
intervals of \fIn\fR columns.
.RE
.RS +4
.TP
.ie t \(bu
.el o
A '\fB\(mi\fR\&' followed by the name of a ``canned'' tab specification.
.RE
Standard tabs are specified by \fBt\(mi8\fR, or equivalently, \fBt1,9,17,25,\fR
etc. The canned tabs that are recognized are defined by the \fBtabs\fR(1)
command.
.RE

.sp
.ne 2
.na
\fB\fBs\fR\fIsize\fR\fR
.ad
.RS 11n
The \fBs\fR parameter specifies a maximum line size. The value of \fBsize\fR
must be an integer. Size checking is performed after tabs have been expanded,
but before the margin is prepended.
.RE

.sp
.ne 2
.na
\fB\fBm\fR\fImargin\fR\fR
.ad
.RS 11n
The \fBm\fR parameter specifies a number of spaces to be prepended to each
line. The value of \fImargin\fR must be an integer.
.RE

.sp
.ne 2
.na
\fB\fBd\fR\fR
.ad
.RS 11n
The \fBd\fR parameter takes no value. Its presence indicates that the line
containing the format specification is to be deleted from the converted file.
.RE

.sp
.ne 2
.na
\fB\fBe\fR\fR
.ad
.RS 11n
The \fBe\fR parameter takes no value. Its presence indicates that the current
format is to prevail only until another format specification is encountered in
the file.
.RE

.sp
.LP
Default values, which are assumed for parameters not supplied, are \fBt\(mi8\fR
and \fBm0\fR. If the \fBs\fR parameter is not specified, no size checking is
performed. If the first line of a file does not contain a format specification,
the above defaults are assumed for the entire file. The following is an example
of a line containing a format specification:
.sp
.LP
\fB* <:t5,10,15 s72:> *\fR
.sp
.LP
If a format specification can be disguised as a comment, it is not necessary to
code the \fBd\fR parameter.
.SH SEE ALSO
.sp
.LP
.BR ed (1),
.BR newform (1),
.BR tabs (1)
